package Vistas;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.rmi.RemoteException;

import javax.swing.JButton;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

import Exception.NoExisteException;
import RMI.GestionLogisticaCentral;


@SuppressWarnings("serial")
public class MenuPrincipal extends javax.swing.JFrame {
	
	private JMenuBar jMenuBar;
	
	private JMenu jMenuVehiculos;
	private JMenuItem jMenuItemAltaVehiculo;
	private JMenuItem jMenuItemAltaTareaMantenimientoKm;
	private JMenuItem jMenuItemAltaTareaMantenimientoTiempo;
	private JMenuItem jMenuItemAltaPlanMantenimiento;
	
	private JMenu jMenuSucursales;
	private JMenuItem jMenuItemAltaSucursal;
	
	private JMenu jMenuEmpleados;
	private JMenuItem jMenuItemAltaEmpleado;
		
	private JButton salir;
	private GestionLogisticaCentral sistema;
	
	

	//main
	public static void main(String[] args) throws RemoteException, NoExisteException{
		MenuPrincipal inst = new MenuPrincipal();
		inst.setLocationRelativeTo(null);
		inst.setVisible(true);
	}
	
	//constructor
	public MenuPrincipal() throws RemoteException, NoExisteException{
		super();
		initGUI();
		sistema = new GestionLogisticaCentral();
	}
	
	
	private void initGUI(){
		try{
			getContentPane().setLayout(null);
			
			//MENU BAR
			jMenuBar = new JMenuBar();
			setJMenuBar(jMenuBar);
			jMenuBar.setPreferredSize(new java.awt.Dimension(392, 22));
			{
				//MENU VEHICULOS
				jMenuVehiculos = new JMenu();
				jMenuBar.add(jMenuVehiculos);
				jMenuVehiculos.setText("Vehiculos");
				jMenuVehiculos.setPreferredSize(new java.awt.Dimension(80, 21));
				jMenuVehiculos.addActionListener(new ActionListener(){
					public void actionPerformed(ActionEvent evt){
						System.out.println("jMenuClientes.actionPerformed, event="
							+ evt);
					}
				});
				{
					//MENU ITEM AGREGAR VEHICULO
					jMenuItemAltaVehiculo = new JMenuItem();
					jMenuVehiculos.add(jMenuItemAltaVehiculo);
					jMenuItemAltaVehiculo.setText("Agregar Vehiculo");
					jMenuItemAltaVehiculo.addActionListener(new ActionListener() {
						public void actionPerformed(ActionEvent evt){	
							AltaVehiculo ac = new AltaVehiculo(sistema);
							ac.setVisible(true);
						}
					});
				}
				{
					//MENU ITEM AGREGAR TAREA MANTENIMEINTO KILOMETRAJE
					jMenuItemAltaTareaMantenimientoKm = new JMenuItem();
					jMenuVehiculos.add(jMenuItemAltaTareaMantenimientoKm);
					jMenuItemAltaTareaMantenimientoKm.setText("Crear Tarea Mantenimiento km");
					jMenuItemAltaTareaMantenimientoKm.addActionListener(new ActionListener() {
						public void actionPerformed(ActionEvent evt){	
							AltaTareaMantenimientoKm am = new AltaTareaMantenimientoKm(sistema);
							am.setVisible(true);
						}
					});
				}
				{
					//MENU ITEM AGREGAR TAREA MANTENIMEINTO TIEMPO
					jMenuItemAltaTareaMantenimientoTiempo = new JMenuItem();
					jMenuVehiculos.add(jMenuItemAltaTareaMantenimientoTiempo);
					jMenuItemAltaTareaMantenimientoTiempo.setText("Crear Tarea Mantenimiento Tiempo");
					jMenuItemAltaTareaMantenimientoTiempo.addActionListener(new ActionListener() {
						public void actionPerformed(ActionEvent evt){	
							AltaTareaMantenimientoTiempo am = new AltaTareaMantenimientoTiempo(sistema);
							am.setVisible(true);
						}
					});
				}
				{
					//MENU ITEM AGREGAR PLAN DE MANTENIMIENTO
					jMenuItemAltaPlanMantenimiento = new JMenuItem();
					jMenuVehiculos.add(jMenuItemAltaPlanMantenimiento);
					jMenuItemAltaPlanMantenimiento.setText("Crear Plan Mantenimiento");
					jMenuItemAltaPlanMantenimiento.addActionListener(new ActionListener() {
						public void actionPerformed(ActionEvent evt){	
							AltaTareaPlanMantenimiento am = new AltaTareaPlanMantenimiento(sistema);
							am.setVisible(true);
						}
					});
				}
				
				{
					//MENU SUCURSALES
					jMenuSucursales = new JMenu();
					jMenuBar.add(jMenuSucursales);
					jMenuSucursales.setText("Sucursales");
					jMenuSucursales.setPreferredSize(new java.awt.Dimension(80, 21));
					jMenuSucursales.addActionListener(new ActionListener(){
						public void actionPerformed(ActionEvent evt){
							System.out.println("jMenuInmuebles.actionPerformed, event="
								+ evt);
						}
					});
					{
						//MENU ITEM CREAR SUCURSAL
						jMenuItemAltaSucursal = new JMenuItem();
						jMenuSucursales.add(jMenuItemAltaSucursal );
						jMenuItemAltaSucursal.setText("Alta Sucursal");
						jMenuItemAltaSucursal.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt){
								AltaSucursal ci = new AltaSucursal(sistema);
								ci.setVisible(true);
							}
								
							});
					}
					
					{
						//MENU Empleados
						jMenuEmpleados = new JMenu();
						jMenuBar.add(jMenuEmpleados);
						jMenuEmpleados.setText("Empleados");
						jMenuEmpleados.setPreferredSize(new java.awt.Dimension(80, 21));
						jMenuEmpleados.addActionListener(new ActionListener(){
							public void actionPerformed(ActionEvent evt){
								System.out.println("jMenuCobranzas.actionPerformed, event="
									+ evt);
							}
						});
						
						{
							//MENU ITEM CREAR Empleado
							jMenuItemAltaEmpleado = new JMenuItem();
							jMenuEmpleados.add(jMenuItemAltaEmpleado);
							jMenuItemAltaEmpleado.setText("Alta Empleado");
							jMenuItemAltaEmpleado.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt){
									AltaEmpleado cc = new AltaEmpleado(sistema);
									cc.setVisible(true);
								}
									
								});
						}
						
		
					
			salir = new JButton();
			getContentPane().add(salir);
			salir.setText("Salir del Sistema");
			salir.setBounds(88, 173, 237, 23);		
			salir.addActionListener(new ActionListener() 
			{
				public void actionPerformed(ActionEvent evt){
					System.exit(0);
				}
			});
			
			setSize(400, 300);
			setTitle("Sistema Transporte");
		} }}}
		catch (Exception e) {
			e.printStackTrace();
		}
	
}}

